﻿/*----------------------------------------------------------------
    // Copyright (C) 2009 江苏华招网
    // 版权所有。 
    // 作者：马毅
    //
    // 文件名：BLL_Area.cs
    // 文件功能描述：类别操作业务逻辑类,实现接口IBLL_Sort,继承自类MarshalByRefObject
    // 创建标识：马毅2009-05-24
    //
    // 修改标识：
    // 修改描述：
    //
    // 修改标识：
    // 修改描述：
    //
    // 审核人：
    // 审核时间：
    // 审核说明：
 //----------------------------------------------------------------*/
using System;
using System.Collections.Generic;

using System.Text;
using HZ.DrugTrade.IBLL;
using HZ.DrugTrade.Model;
using HZ.DrugTrade.DAL;
using System.Data;
namespace HZ.DrugTrade.BLL
{

    [Serializable]
    /// <summary>
    /// 类别操作业务逻辑类,实现接口IBLL_Sort,继承自类MarshalByRefObject
    /// </summary>
    public class BLL_Sortcs : MarshalByRefObject, IBLL_Sort
    {
        /// <summary>
        /// 按条件查处所以类别
        /// </summary>
        /// <param name="nSortid"></param>
        /// <returns></returns>
        public  IList<Sort> GetAllSort(string  nSortid)
        {
            int totalRecord = 0;
            Sort sort = new Sort()
            {
                ParentSortID = nSortid
            };
            return DAL_Sort.GetCompanyByWhere(sort, 1, 0, out totalRecord);
        }

        /// <summary>
        /// 绑定分类名
        /// </summary>
        /// <returns></returns>
        public IList<string> GetSortName()
        {
            return DAL_Sort.GetSortName();
        }
        /// <summary>
        /// 按条件查询单个类别
        /// </summary>
        /// <param name="Sortid"></param>
        /// <returns></returns>
        public Sort GetSort(string Sortid)
        {
            Sort sort = new Sort()
            {
                 SortID = Sortid
            };

            return DAL_Sort.GetSortwhere(sort);
        }

        

        /// <summary>
        /// 添加类别信息（0失败;1成功）
        /// </summary>
        /// <param name="goods">产品信息</param>
        /// <returns>0失败;1成功</returns>
        /// <remarks>
        /// ID可以为空，其余字段一律不得为空
        /// 
        /// </remarks>
        public int AddSort(Sort sort)
        {
            int result = HZ.Data.DAL_Helper.OperateTable(sort, HZ.Data.TableOperator.Insert);
            if(result>0)
            {
                BLL_Log.Instance.AddKeyOperationLog(new KeyOperationLog() { OperateMessage = string.Format("添加类别信息{0}", sort.SortID) });
            }
            return result;
        }
        /// <summary>
        /// 更新类别信息（0失败;1成功）
        /// </summary>
        /// <param name="goods">产品信息</param>
        /// <returns>0失败;1成功</returns>
        /// <remarks>
        /// ID可以为空，其余字段一律不得为空
        /// 
        /// </remarks>
        public int UpdateSort(Sort sort)
        {
            return HZ.Data.DAL_Helper.OperateTableSQL(sort, HZ.Data.TableOperator.Update);
        }
        /// <summary>
        /// 删除类别信息（0失败;1成功）
        /// </summary>
        /// <param name="goods">产品信息</param>
        /// <returns>0失败;1成功</returns>
        /// <remarks>
        /// ID可以为空，其余字段一律不得为空
        /// 
        /// </remarks>
        public int DeleteSort(Sort sort)
        {
            int result = HZ.Data.DAL_Helper.OperateTableSQL(sort, HZ.Data.TableOperator.Delete);
            if (result > 0)
            {
                BLL_Log.Instance.AddKeyOperationLog(new KeyOperationLog() { OperateMessage = string.Format("删除类别信息{0}", sort.SortID) });
            }
            return result;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sort"></param>
        /// <param name="nsort">1 当前节点删除 子节点保留 并且提示为当前节点位置  、 2 删除当前节点和他的子节点</param>
        /// <returns></returns>
        public int DeleteSortSon(Sort sort,int nsort)
        {

            int result = DAL.DAL_Sort.DeleteSortSon(sort, nsort);
            if (result > 0)
            {
                BLL_Log.Instance.AddKeyOperationLog(new KeyOperationLog() { OperateMessage = string.Format("删除类别信息{0}子节点{1}", sort.SortID,nsort) });
            }
            return result;
        }
        public int UPSortSon(Sort sort)
        {
           int result =DAL_Sort.UPSortSon(sort);
            if (result > 0)
            {
                BLL_Log.Instance.AddKeyOperationLog(new KeyOperationLog() { OperateMessage = string.Format("修改类别信息{0}", sort.SortID) });
            }
            return result;
        }
    }
}
